/**
 * Active Space Store - 管理当前活跃空间
 * 这是纯 UI 状态，不涉及后端同步
 */
import { create } from 'zustand';
import { persist } from 'zustand/middleware';

interface ActiveSpaceState {
    // 当前活跃的空间ID（后端API使用number类型）
    activeSpaceId: number | null;

    // 设置活跃空间
    setActiveSpace: (spaceId: number) => void;

    // 获取活跃空间ID
    getActiveSpaceId: () => number | null;
}

/**
 * 活跃空间状态管理
 * 使用 persist 中间件持久化到 localStorage
 */
export const useActiveSpaceStore = create<ActiveSpaceState>()(
    persist(
        (set, get) => ({
            activeSpaceId: null,

            setActiveSpace: (spaceId: number) => {
                set({ activeSpaceId: spaceId });
            },

            getActiveSpaceId: () => get().activeSpaceId,
        }),
        {
            name: 'active-space-storage', // localStorage key
        }
    )
);
